using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("JaraxxusMinionSpell")]
	public class JaraxxusMinionSpell : Spell
	{
		public float m_MoveToLocationDelay => method_2<float>("m_MoveToLocationDelay");

		public float m_MoveToLocationDuration => method_2<float>("m_MoveToLocationDuration");

		public iTween.EaseType m_MoveToLocationEaseType => method_2<iTween.EaseType>("m_MoveToLocationEaseType");

		public float m_MoveToHeroSpotDelay => method_2<float>("m_MoveToHeroSpotDelay");

		public float m_MoveToHeroSpotDuration => method_2<float>("m_MoveToHeroSpotDuration");

		public iTween.EaseType m_MoveToHeroSpotEaseType => method_2<iTween.EaseType>("m_MoveToHeroSpotEaseType");

		public JaraxxusMinionSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public JaraxxusMinionSpell(IntPtr address)
			: this(address, "JaraxxusMinionSpell")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public PowerTask FindFullEntityTask()
		{
			return method_14<PowerTask>("FindFullEntityTask", Array.Empty<object>());
		}

		public void Finish()
		{
			method_8("Finish");
		}

		public void MoveToSpellLocation(Card minionCard, Card heroCard)
		{
			method_8("MoveToSpellLocation", minionCard, heroCard);
		}

		public void MoveToHeroSpot(Card minionCard, Card heroCard)
		{
			method_8("MoveToHeroSpot", minionCard, heroCard);
		}

		public void OnMoveToHeroSpotComplete()
		{
			method_8("OnMoveToHeroSpotComplete");
		}
	}
}
